1. Field of the Invention
The present invention relates to a rendering algorithm in a printer. More particularly, the present invention relates to a rendering algorithm which corrects an actual line thickness value stored in a buffer for rendering, based on the line thickness, the brightness of the line color, and the brightness of the background in document data to be printed by an inkjet or laser printer.
2. Description of Related Art
FIG. 1 is a block diagram showing a rendering process in a typical digital printer, such as an inkjet or laser printer.
A printer system which processes commands of an application 1 stored in a computer (not shown), typically comprises an information processing unit and a printing unit 8. The information processing unit comprises a rendering unit 2, an RGB (Red, Green, Blue) buffer 3, a color converting unit 4, a CMYK (Cyan, Magenta, Yellow, blacK) multi-value buffer 5, a half-toning unit 6, and a CMYK two-value buffer 7.
When a user performs a rendering process by manipulating the application 1 and executing a print command, the application 1 creates a series of drawing commands based on document data to be printed, and transmits the commands to a printer.
In response to the drawing commands, the rendering unit 2 performs rendering processes, and stores the results of the processes in the RGB buffer 3. At this point, drawing information such as types of drawing, coordinates indicating print locations, drawing colors, and the like, is transmitted from the application 1.
In case of line drawing, the drawing information comprises a line color, a line thickness, a line type, and coordinates of a starting point. The rendering unit 2 performs the rendering process according to the drawing commands transmitted from the application 1.
After the rendering is completed, the RGB values stored in the RGB buffer 3 are color-converted by the color converting unit 4, and the color-converted RGB values are then written into the CMYK multi-value buffer 5. This conversion is the process by which pixel colors represented by the RGB values on a monitor, are represented with a blend of toner or ink consisting of four colors, CMYK. At this point, in order to indicate a saturation value of CMYK, eight bits, that is, 256 gray scales, are typically used for each color.
The half-toning unit 6 converts the values in the CMYK multi-value buffer 5 into two-value data, and then writes the two-value data into the CMYK two-value buffer 7. The printing unit 8 affixes toner or ink to a print paper according to bit values in the CMYK two-value buffer 7, thereby completing the printing operation.
The toner or ink affixed to a print paper in printing however, typically has a dot gain, so that the toner or ink spreads around the outer edge of a pixel area.
Accordingly, when a black thin line with a single pixel width is drawn on a white background, the line is printed thicker than a theoretical value of the pixel size. While the effect of emphasis of the line thickness is more remarkable in a thinner line, there are few actual problems in employing this effect.
However, when a very thin line is drawn with a bright color on a dark background, the line appears to be thinner due to the dot gain, which is contrary to the aforementioned case of a black thin line drawn on a white background. When a white line with a single pixel width is drawn on a dark background in an RGB buffer with a rendering resolution of over 600 dpi, it is difficult or impossible to notice the line since the line printed on the page is too thin to see.
Where a positive thin line is a dark-colored thin line on a bright background, and a negative thin line is a bright-colored thin line on a dark background, an effect of the dot gain in printing is that the width of the positive thin line increases but the width of the negative thin line decreases.
Since the line thickness value is included in the commands received in the rendering unit, a solution to this problem has included programming the rendering process so that only a very thin line, that is, a line with a single pixel width, is thickly drawn.
However, this causes both the negative thin line and the positive thin line to become thicker, so that reproduction performance on a print paper is deteriorated in rendering of the positive thin line.
Accordingly, a need exists for a system and method for distinguishing between desired positive and negative thin lines, and adjusting line thickness to render improved negative thin lines without affecting positive thin lines.